# 问题描述
# 利用字母可以组成一些美丽的图形，下面给出了一个例子：
#
# ABCDEFG
#
# BABCDEF
#
# CBABCDE
#
# DCBABCD
#
# EDCBABC
#
# 这是一个5行7列的图形，请找出这个图形的规律，并输出一个n行m列的图形。
#
# 输入格式
# 输入一行，包含两个整数n和m，分别表示你要输出的图形的行数的列数。
# 输出格式
# 输出n行，每个m个字符，为你的图形。
# 样例输入
# 5 7
# 样例输出
# ABCDEFG reversed(s[1:1])+s[:m-0]
# BABCDEF reversed(s[1:2])+s[:m-1]
# CBABCDE reversed(s[1:3])+s[:m-2]
# DCBABCD reversed(s[1:4])+s[:m-3]
# EDCBABC reversed(s[1:5])+s[:m-4]

if __name__ == '__main__':
    n, m = map(int, input().split())
    s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    if n >= 1 and m >= 1 and n <= 26 and m <= 26:
        for i in range(n):
            front = s[1:i + 1]
            rear = s[:m - i]
            res = front[::-1] + rear
            print(res[:m])
